Providing location information for expressions

ABSTRACT

Methods, apparatuses and systems are described for conveying location information from an announcing user device to a listening user device engaged in ProSe discovery communications. The announcing user device may use a first expression to broadcast an initial announcement, and then use a second expression to broadcast the location of the announcing user device. The first expression may be in the form of a public expression while the second expression may be in the form of a private expression.

BACKGROUND

Wireless communications systems are widely deployed to provide varioustypes of communication content such as voice, video, packet data,messaging, broadcast, and so on. These systems may be multiple-accesssystems capable of supporting communication with multiple users bysharing the available system resources (e.g., time, frequency, andpower). Examples of such multiple-access systems include code-divisionmultiple access (CDMA) systems, time-division multiple access (TDMA)systems, frequency-division multiple access (FDMA) systems, andorthogonal frequency-division multiple access (OFDMA) systems.Generally, a wireless multiple-access communications system may includea number of base stations, each simultaneously supporting communicationfor multiple user devices. Base stations may communicate with devices ondownstream and upstream links. Each base station has a coverage range,which may be referred to as the coverage area of the base station orcell.

Devices (i.e., user equipment (UEs)) that are proximate to each othermay also communicate directly via device-to-device (D2D) or proximitybased service (ProSe) communication. As part of ProSe discovery, anannouncing device may broadcast one or more services that the device canoffer to other proximate devices. Listening devices can receive thebroadcast announcement and determine whether the announced services canbe used by the listening device. In deciding whether to use theadvertised services, the listening device may benefit from knowing thelocation of the announcing device. However, because resources allocatedfor ProSe discovery communications are restricted, the announcing devicemay not be able to broadcast its location in the same resources as itsannouncement.

SUMMARY

The described features generally relate to one or more improved methods,systems, or apparatuses for managing wireless communications. Theimproved methods include conveying location information from anannouncing user device to a listening user device engaged in ProSediscovery. While the announcing user device may use a public expressionto broadcast a service announcement, the announcing user device may usea private expression to also convey its location information.

In a first set of illustrative embodiments, a method of wirelesscommunication may include broadcasting, from a user device, a firstexpression using proximity services (ProSe) discovery communications,the first expression including a first announcement of services. Themethod may also include broadcasting, from the user device, a secondexpression using ProSe discovery communications, the second expressionincluding location information relating to the user device and beingidentifiable through use of the first expression. The first expressionmay be a public expression and the second expression may be a privateexpression. The second expression may be selectively broadcast based atleast in part on an amount of movement of the user device. For example,the method may include transmitting the location information to anexpression metadata server for association with the first announcementif the amount of movement of the user device is below a predeterminedthreshold.

In some aspects, an identifier may be included in the second expression.The identifier may relate to the first announcement. Therefore, themethod may include generating the identifier, and transmitting theidentifier to an expression metadata server for association with thefirst announcement. Alternatively, the method may include transmitting arequest to an expression metadata server to generate the identifier andto associate the identifier with the first announcement. The identifiermay be included in a first portion of the second expression and thelocation information may included in a second portion of the secondexpression.

In some aspects, the method may further include generating a first hashof one or more portions of the first expression, and including the firsthash in the second expression. The first hash may be included in a firstportion of the second expression, and the location information may beincluded in a second portion of the second expression. The method mayfurther include broadcasting, from the user device, a third expressionusing ProSe discovery communications, the third expression including asecond announcement of services, generating a second hash of one or moreportions of the third expression, and including the second hash in thesecond expression. The first and the second hash may be included in afirst portion of the second expression, and the location information maybe included in a second portion of the second expression. At least oneof the first and second hashes may be truncated.

In a second set of illustrative embodiments, an apparatus for wirelesscommunication may include means for broadcasting, from a user device, afirst expression using proximity services (ProSe) discoverycommunications, the first expression including a first announcement ofservices. The apparatus may also include means for broadcasting, fromthe user device, a second expression using ProSe discoverycommunications, the second expression including location informationrelating to the user device and being identifiable through use of thefirst expression. The first expression may be a public expression andthe second expression may be a private expression.

In some aspects, the apparatus may further include means for includingan identifier in the second expression, the identifier relating to thefirst announcement. In one example, the apparatus may further includemeans for generating the identifier, and means for transmitting theidentifier to an expression metadata server for association with thefirst announcement. In an alternative example, the apparatus may includemeans for transmitting a request to an expression metadata server togenerate the identifier and to associate the identifier with the firstannouncement. The identifier may be included as a prefix in the secondexpression and the location information may be included as a suffix inthe second expression.

In some aspects, the apparatus may further include means for generatinga first hash of one or more portions of the first expression, and meansfor including the first hash in the second expression. The first hashmay be included in a first portion of the second expression, and thelocation information may be included in a second portion of the secondexpression. The apparatus may further include means for broadcasting,from the user device, a third expression using ProSe discoverycommunications, the third expression including a second announcement ofservices, means for generating a second hash of one or more portions ofthe third expression, and means for including the second hash in thesecond expression. The first and the second hash may be included in afirst portion of the second expression, and the location information maybe included in a second portion of the second expression.

In a third set of illustrative embodiments, an apparatus configured forwireless communication may include at least one processor and a memorycoupled to the at least one processor. The at least one processor may beconfigured to broadcast, from a user device, a first expression usingproximity services (ProSe) discovery communications, the firstexpression including a first announcement of services. The at least oneprocessor may also be configured to broadcast, from the user device, asecond expression using ProSe discovery communications, the secondexpression including location information relating to the user deviceand being identifiable through use of the first expression.

In a fourth set of illustrative embodiments, a method of wirelesscommunication may include receiving, from a user device, a firstexpression using proximity services (ProSe) discovery communications,the first expression including an announcement of services, andreceiving, from the user device, a second expression using ProSediscovery communications, the second expression being identifiablethrough use of the first expression. The method may also includedetermining a location of the user device from the second expression.

In some aspects, the method may further include communicating with anexpression metadata server to receive an identifier associated with theannouncement, and associating the second expression with the firstexpression by identifying the identifier as a portion of the secondexpression. The identifier may be included in a first portion of thesecond expression and the location of the user device may be included ina second portion of the second expression.

In other aspects, the method may further include generating a hash ofone or more portions of the first expression, and associating the secondexpression with the first expression by identifying the hash as aportion of the second expression. The hash may be included in a firstportion of the second expression, and the location of the user devicemay be included in a second portion of the second expression. The methodmay further include truncating the hash, wherein the second expressionmay be associated with the first expression by identifying the truncatedhash as a portion of the second expression.

Further scope of the applicability of the described methods andapparatuses will become apparent from the following detaileddescription, claims, and drawings. The detailed description and specificexamples are given by way of illustration only, since various changesand modifications within the spirit and scope of the description willbecome apparent to those skilled in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of the presentinvention may be realized by reference to the following drawings. In theappended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 is a block diagram of an example of a wireless communicationssystem;

FIG. 2 is a message flow diagram illustrating communications betweenuser devices engaged in ProSe communication and an expression metadataserver, in accordance with various embodiments;

FIG. 3 is a message flow diagram illustrating communications betweenuser devices engaged in ProSe communication and an expression metadataserver, in accordance with various embodiments;

FIG. 4 is a message flow diagram illustrating data sent by a user deviceengaged in ProSe discovery, in accordance with various embodiments;

FIG. 5 is a block diagram of an example of an apparatus in accordancewith various embodiments;

FIG. 6 is a block diagram of an example of an apparatus in accordancewith various embodiments;

FIG. 7 is a block diagram of an example of a user device in accordancewith various embodiments; and

FIGS. 8-11 are flowcharts of various methods for wirelesscommunications, in accordance with various embodiments.

DETAILED DESCRIPTION

Typically, devices (i.e., user equipment (UEs)) engage in wirelesscommunication by communicating with a base station of a wirelesscommunications system. However, these devices may also participate indirect D2D or ProSe wireless communications. ProSe communication allowsUEs that are within range of each other to communicate directly witheach other instead of communicating through a base station. An exampleof when ProSe wireless communication is desirable is when a UE intendsto have a communication session with other UEs in close proximity, orjust be visible to other UEs in the same location. An announcing UE maybroadcast a ProSe discovery announcement, such as a DirectPeer-Discovery Signal in a Long Term Evolution (LTE) system, which maythen be received by a listening UE in the proximity that is monitoringsuch discovery communications. The announcing UE may include a code suchas a ProSe discovery application code in the over-the-air (OTA)discovery announcement message. The ProSe discovery application code mayindicate the desired intent or function of the announcing UE. Alistening UE may receive the ProSe discovery announcement with its ProSediscovery application code, and can then determine whether the listeningUE is present nearby and is potentially also available to engage inProSe communications with the announcing UE.

Additionally, a listening UE may benefit from receiving a specificlocation of the advertised services and/or announcing UE. However,because of bandwidth limitations, specific location information of anannouncing device has not generally been broadcast by the announcingdevice. The message format and resources allocated for an announcingdevice's announcement do not allow sufficient resources for inclusion ofthe location information with the announcement. Instead, an announcingUE may transmit specific location information to a database on a serveraccessible to other listening UEs. There, the specific locationinformation may be stored as metadata associated with the announcingUE's announcement. Once a listening UE has received an announcement, thelistening UE may then access the database to receive additionalinformation that pertains to the announcing UE, including the locationof the announcing UE.

However, if the announcing user device is moving, this system mayrequire a significant number of transmissions and queries by both theannouncing and the listening UEs to the shared database. The high numberof transmissions and queries can result in network overload andpower-drain and other side-effects within the UEs. Therefore,alternative systems for conveying location information that result infewer communications with the shared database may be beneficial for atleast the reason that power-drain of the participating UEs may bereduced.

The following description provides examples, and is not limiting of thescope, applicability, or configuration set forth in the claims. Changesmay be made in the function and arrangement of elements discussedwithout departing from the spirit and scope of the disclosure. Variousembodiments may omit, substitute, or add various procedures orcomponents as appropriate. For instance, the methods described may beperformed in an order different from that described, and various stepsmay be added, omitted, or combined. Also, features described withrespect to certain embodiments may be combined in other embodiments.

Referring first to FIG. 1, a diagram illustrates an example of awireless communications system 100. The wireless communications system100 includes base stations (or cells) 105, communication devices 115,and a core network 130. The base stations 105 may communicate with thecommunication devices 115 under the control of a base station controller(not shown), which may be part of the core network 130 or the basestations 105 in various embodiments. Base stations 105 may communicatecontrol information or user data with the core network 130 throughbackhaul links 132. In embodiments, the base stations 105 maycommunicate, either directly or indirectly, with each other overbackhaul links 134, which may be wired or wireless communication links.The system 100 may support operation on multiple carriers (waveformsignals of different frequencies). Multi-carrier transmitters cantransmit modulated signals simultaneously on the multiple carriers. Forexample, each communication link 125 may be a multi-carrier signalmodulated according to the various radio technologies described above.Each modulated signal may be sent on a different carrier and may carrycontrol information (e.g., reference signals, control channels, etc.),overhead information, data, etc.

The base stations 105 may wirelessly communicate with the UEs 115 viaone or more base station antennas. Each of the base station 105 sitesmay provide communication coverage for a respective coverage area 110.In some embodiments, a base station 105 may be referred to as a basetransceiver station, a radio base station, an access point, a radiotransceiver, a basic service set (BSS), an extended service set (ESS), aNodeB, an eNodeB (eNB), a Home NodeB, a Home eNodeB, or some othersuitable terminology. The coverage area 110 for a base station may bedivided into sectors making up only a portion of the coverage area (notshown). The system 100 may include base stations 105 of different types(e.g., macro, micro, or pico base stations). There may be overlappingcoverage areas for different technologies.

In embodiments, the system 100 is an LTE/LTE-A network. In LTE/LTE-Anetworks, the terms evolved Node B (eNB) and user equipment (UE) may begenerally used to describe the base stations 105 and UEs 115,respectively. The system 100 may be a Heterogeneous LTE/LTE-A network inwhich different types of base stations provide coverage for variousgeographical regions. For example, each base station 105 may providecommunication coverage for a macro cell, a pico cell, a femto cell, orother types of cell. A macro cell generally covers a relatively largegeographic area (e.g., several kilometers in radius) and may allowunrestricted access by UEs with service subscriptions with the networkprovider. A pico cell would generally cover a relatively smallergeographic area and may allow unrestricted access by UEs with servicesubscriptions with the network provider. A femto cell would alsogenerally cover a relatively small geographic area (e.g., a home) and,in addition to unrestricted access, may also provide restricted accessby UEs having an association with the femto cell (e.g., UEs in a closedsubscriber group (CSG), UEs for users in the home, and the like). A basestation for a macro cell may be referred to as a macro eNB, for example.A base station for a pico cell may be referred to as a pico eNB. And, abase station for a femto cell may be referred to as a femto eNB or ahome eNB. A base station may support one or multiple (e.g., two, three,four, and the like) cells.

The core network 130 may communicate with the base stations 105 viabackhaul links 132 (e.g., S1, etc.). The base stations 105 may alsocommunicate with one another, e.g., directly or indirectly via backhaullinks 134 (e.g., X2, etc.) or via backhaul links 132 (e.g., through corenetwork 130). The wireless communications system 100 may supportsynchronous or asynchronous operation. For synchronous operation, thebase stations may have similar frame timing, and transmissions fromdifferent base stations may be approximately aligned in time. Forasynchronous operation, the base stations may have different frametiming, and transmissions from different base stations may not bealigned in time. The techniques described herein may be used for eithersynchronous or asynchronous operations.

Base stations 105 may also communicate information and commands to UEs115. For example, when a UE 115 enters into a connected mode with a basestation 105, the base station 105 and UE 115 mutually authenticate eachother. Once authenticated, the base station 105 may securely communicateinformation to the UE 115. UEs 115 may additionally communicate with thecore network 130 via base stations 105.

The UEs 115 are dispersed throughout the wireless communications system100, and each UE may be stationary or mobile. A UE 115 may also bereferred to by those skilled in the art as a user device, a mobiledevice, a mobile station, a subscriber station, a mobile unit, asubscriber unit, a wireless unit, a remote unit, a wireless device, awireless communications device, a remote device, a mobile subscriberstation, an access terminal, a mobile terminal, a wireless terminal, aremote terminal, a handset, a user agent, a mobile client, a client, arelay, or some other suitable terminology. A UE 115 may be a cellularphone, a personal digital assistant (PDA), a wireless modem, a wirelesscommunication device, a handheld device, a tablet computer, a laptopcomputer, a cordless phone, a wireless local loop (WLL) station, or thelike. A UE may be able to communicate with macro eNBs, pico eNBs, femtoeNBs, relays, and the like. A UE 115-a may also communicate directlywith another UE 115 via ProSe wireless communications. In one example, aUE 115-a-1 within a coverage area 110-a of a base station 105 may serveas a relay for UE 115-a-2 that is outside the coverage area 110-a of thebase station 105. The in-coverage UE 115-a-1 may relay (or retransmit)communications from the base station 105 to the out-of-coverage UE115-a-2. Similarly, the in-coverage UE 115-a-1 may relay communicationsfrom the out-of-coverage UE 115-a-2 to the base station 105.Additionally, ProSe wireless communication may occur between UEs 115that are each in-coverage and may occur for many different reasons.Thus, in-coverage UE 115-a-1 may engage in ProSe wireless communicationwith in-coverage UE 115-a-3. UE 115-a-3 may also engage in ProSewireless communication with UE 115-a-2.

In order for a UE 115 to participate in ProSe wireless communication,the UE 115 may first participate in ProSe discovery. ProSe discoveryallows UEs 115 to discover other UEs. ProSe discovery includes anannouncing UE that broadcasts a ProSe discovery announcement, and alistening UE that monitors for ProSe discovery announcements. Alistening UE may receive a ProSe discovery announcement and may thenrespond and engage in communications with the announcing UE, either viaProSe direct communications or via the network. In addition, a listeningUE may benefit from a knowledge of the announcing UE's specificlocation, without any need for communication. Therefore, methods foracquiring the announcing UE's location information are beneficial andare explained below.

The communication links 125 shown in wireless communications system 100may include uplink (UL) transmissions from a UE 115 to a base station105, or downlink (DL) transmissions, from a base station 105 to a UE115. The downlink transmissions may also be called forward linktransmissions while the uplink transmissions may also be called reverselink transmissions. The communication links 125 may also include ProSemessages (including ProSe discovery messages) exchanged between UEs 115.

FIG. 2 is a message flow diagram 200 illustrating one method by which alistening UE 115-b-2 may acquire a location of an announcing UE 115-b-1.The UEs may be examples of the UEs 115 described with respect to FIG. 1.In diagram 200, the UEs also exchange communications with an expressionmetadata server 205. The expression metadata server 205 may be acomponent of the core network 130, also illustrated in FIG. 1.

In one configuration, an announcing UE 115-b-1 may facilitate otherlistening UEs (e.g., listening UE 115-b-2) in acquiring the location ofthe announcing UE 115-b-1. To that end, the announcing UE 115-b-1transmits a message 210 to an expression metadata server 205 thatincludes the announcing UE's location information. The message 210 mayalso include an identification that can be associated with theannouncing UE's location, such as an identification of the announcing UEor an identification relating to the announcement. Using the receivedlocation information, the expression metadata server 205 may store thelocation information for the announcing UE in such a way so as to beaccessible to other listening UEs, as explained below.

The announcing UE 115-b-1 may then transmit its announcement via message215. Message 215 may be broadcast, multi-cast, or unicast via, forexample, communication link 125 of FIG. 1. The message 215 may bereceived by one or more listening UEs such as listening UE 115-b-2.Message 215 may be a ProSe discovery announcement message and may thusindicate the announcing UE's announcement of services. Message 215 mayalso include, for example, an identification of the announcing UE115-b-1 or a ProSe discovery application code corresponding to theannouncement of services offered by the announcing UE 115-b-1. Message215 may be in the form of a public expression, also sometimes referredto as open discovery code. As such, message 215 may be received andunderstood by any listening UE. This is in contrast with privateexpressions, which require some prior exchange of information in orderto be understood.

In one configuration, a listening UE 115-b-2 receives the message 215,which includes the announcing UE's announcement. However, the message215 does not include the announcing UE's location. If the listening UE115-b-2 is to acquire the location information for the announcing UE115-b-1, the listening UE 115-b-2 may transmit a message 220 to theexpression metadata server 205. The message 220 may include theannouncement received from the announcing UE 115-b-1 via message 215, orsome other data that can be used to inform the expression metadataserver 205 that the listening UE is searching for information pertainingto the received service announcement. Using the data transmitted inmessage 220, the expression metadata server 205 can identify theannouncing UE's location information, as uploaded by the announcing UE115-b-1 via message 210. The expression metadata server 205 can thentransmit the desired location information to the listening UE 115-b-2via message 225. In this way, the listening UE 115-b-2 can ascertain thelocation of the announcing UE 115-b-1. If desired, the listening UE115-b-2 and the announcing UE 115-b-1 may engage in ProSe communications230.

The diagram 200 represents one method for conveying location informationto a listening UE 115-b-2. However, as explained above, if theannouncing UE 115-b-1 is moving, the system illustrated in diagram 200could require that the announcing UE 115-b-1 submit a significant numberof messages 210 over time to the expression metadata server 205 in orderto update the expression metadata server 205 with current locationinformation. Thus, the system illustrated in diagram 200 may be improvedupon.

FIG. 3 is a message flow diagram 300 illustrating a method by which alistening UE 115-c-2 may acquire a location of an announcing UE 115-c-1when the announcing UE 115-c-1 is in motion. The UEs may be examples ofthe UEs 115 described with respect to FIG. 1. In diagram 300, the UEsalso exchange communications with an expression metadata server 205-a.The expression metadata server 205-a may be a component of the corenetwork 130, also illustrated in FIG. 1.

The system illustrated via diagram 300 may be used by an announcing UE115-c-1 when the announcing UE 115-c-1 is in motion. An announcing UEmay be determined to be in motion if its motion with respect to someother object (one that is either stationary or in motion) is greaterthan a predetermined threshold.

In one configuration, an announcing UE 115-c-1 may facilitate otherlistening UEs (e.g., listening UE 115-c-2) in acquiring the location ofthe announcing UE 115-c-1. To that end, the announcing UE 115-c-1transmits a message 305 to an expression metadata server 205-a thatincludes an announcement or an identification associated with theannouncing UE's announcement of services. The announcement and/orassociated data may be transmitted to the expression metadata server205-a so that it may be stored and associated with a separate expressionID. The expression ID may be used to identify an expression transmittedby the announcing UE 115-c-1 that includes the announcing UE's locationinformation. The expression identified by the expression ID is separatefrom the expression broadcast by the announcing UE 115-c-1 that includesan announcement of services. Thus, as the announcing UE 115-c-1 maytransmit two separate expressions (one including the announcement ofservices and one including the announcing UE's location information),the expression ID allows the location-bearing expression to be linked orassociated with the announcement-bearing expression. In one embodiment,the expression ID may be generated by the announcing UE 115-c-1 andtransmitted to the expression metadata server 205-a via message 305. Inanother embodiment, the expression metadata server 205-a may insteadgenerate the expression ID (depicted at box 310) and then return theexpression ID to the announcing UE 115-c-1 via message 315. In eitherembodiment, both the announcing UE 115-c-1 and the expression metadataserver 205-a are in possession of the expression ID. In eitherembodiment, the expression metadata server 205-a stores and associatesthe expression ID with the announcement received from the announcing UE115-c-1 via message 305.

The announcing UE 115-c-1 may then transmit its announcement via message320. Message 320 may be broadcast, multi-cast, or unicast via, forexample, communication link 125 of FIG. 1. The message 320 may bereceived by one or more listening UEs such as listening UE 115-c-2.Message 320 may be a ProSe discovery announcement message and thus mayinclude the announcing UE's announcement of services. Message 320 mayalso include an identification of the announcing UE 115-c-1 or a ProSediscovery application code corresponding to the announcement of servicesoffered by the announcing UE 115-c-1. Message 320 may be in the form ofa public expression, also sometimes referred to as open discovery code.As such, message 320 may be received and understood by any listening UE.

In one configuration, a listening UE 115-c-2 receives the message 320,which includes the announcing UE's announcement. However, the message320 does not include the announcing UE's location. If the listening UE115-c-2 is to acquire the location information for the announcing UE115-c-1, the listening UE 115-c-2 may transmit a message 325 to theexpression metadata server 205-a. The message 325 may include theannouncement received from the announcing UE 115-c-1 via message 320, orsome other data that can be used to inform the expression metadataserver 205 that the listening UE is searching for information pertainingto the received service announcement. Using the data transmitted inmessage 325, the expression metadata server 205-a can identify theassociated expression ID, as either generated by the announcing UE115-c-1 or the expression metadata server 205-a. The expression metadataserver 205-a can then transmit the expression ID to the listening UE115-c-2 via message 330.

In addition to broadcasting its announcement of services via message320, the announcing UE 115-c-1 may also broadcast a message 335 thatincludes the announcing UE's location information. The broadcast ofmessages 320 and 335 may occur at approximately the same time. Message335 may be broadcast, multi-cast, or unicast via, for example,communication link 125 of FIG. 1. The message 335 may be received by oneor more listening UEs such as listening UE 115-c-2. Although FIG. 3illustrates the receipt of the message 335 after receipt of the message320, the messages may be received in any order. Message 335 may be inthe form of a private expression, also sometimes referred to asrestricted discovery code. As such, message 335 may only be understoodby UEs that have been appropriately enabled.

Message 335 may include both the previously generated expression ID andthe location information of the announcing UE 115-c-1. In oneembodiment, the expression ID may be a prefix within message 335, whilethe location information may be a suffix within message 335. Otherconfigurations may also be used as long as the configurations are knownby all listening UEs. For example, the expression ID may be a suffix andthe location information may be a prefix within message 335. Withoutknowledge of the expression ID, message 325 is not meaningful to alistening UE 115-c-2. However, because listening UE 115-c-2 has or willyet obtain the expression ID from the expression metadata server 205-a,the listening UE 115-c-2 may be enabled to understand the message 335.In other words, the listening UE 115-c-2 is able to use the expressionID to identify the message 335 and thus associate the locationinformation included within message 335 with the announcing UE 115-c-1.If desired, the listening UE 115-c-2 and the announcing UE 115-c-1 mayengage in ProSe communications 340.

FIG. 4 illustrates yet another message flow diagram 400 depicting anadditional method by which a listening UE 115-d-2 may acquire a locationof an announcing UE 115-d-1. The UEs of diagram 400 may be examples ofthe UEs 115 described with respect to FIG. 1. In the method illustratedby diagram 400, expression metadata servers are not used to facilitatethe exchange of location information.

In one configuration, an announcing UE 115-d-1 transmits an announcementvia message 405. Message 405 may be broadcast, multi-cast, or unicastvia, for example, via communication link 125 of FIG. 1. The message 405may be received by one or more listening UEs such as listening UE115-d-2. Message 405 may be a ProSe discovery announcement message andmay include an announcement of services by the announcing UE 115-d-1.Message 405 may also include, for example, an identification of theannouncing UE 115-d-1 or a ProSe discovery application codecorresponding to the announcement of services offered by the announcingUE 115-d-1. Message 405 may be in the form of a public expression, alsosometimes referred to as open discovery code. As such, message 405 maybe received and understood by any listening UE.

In one configuration, a listening UE 115-d-2 receives the message 405,which includes the announcing UE's announcement and an ID. The message405 does not, however, include the announcing UE's location. Thelocation information may instead be included in a second message 420transmitted by the announcing UE 115-d-1 and which may be uniquelyidentifiable.

In this embodiment, instead of generating an expression ID used toidentify the message 420, a hash of at least portions of the message 405is generated and used to identify the message 420. For example, usingthe data in the broadcast message 405, the announcing UE 115-d-1 mayapply a well-known hash function to one or more portions of the message405 to generate a hash (as depicted at box 410) which may then beincluded within a second message, message 420, that conveys the locationof the announcing UE 115-d-1. The listening UE 115-d-2 may also use thesame well-known hash function and apply it to the one or more portionsof the message 405 transmitted by the announcing UE 115-d-1 and thusgenerate the same hash (as depicted at box 415) included by theannouncing UE 115-d-1 in the message 420.

Message 420 may be broadcast by the announcing UE 115-d-1 and mayinclude both the previously generated hash and the location informationof the announcing UE 115-d-1. In one embodiment, the hash may be aprefix within message 420, while the location information may be asuffix within message 420. Other configurations may also be used as longas the configurations are known by all listening UEs. For example, theexpression ID may be a suffix and the location information may be aprefix within message 335. Message 420 may be broadcast, multi-cast, orunicast via, for example, communication link 125 of FIG. 1. Thebroadcast of messages 405 and 420 may occur at approximately the sametime. The message 420 may be received by one or more listening UEs suchas listening UE 115-d-2. Although FIG. 4 illustrates the receipt of themessage 420 after receipt of the message 405, the messages may bereceived in any order. Message 420 may be in the form of a privateexpression, also sometimes referred to as restricted discovery code. Assuch, message 420 may only be understood by UEs that have beenappropriately enabled. In other words, without knowledge of the hash,message 420 is not meaningful to a listening UE 115-d-2. However,because listening UE 115-d-2 is able to determine the hash by applyingthe well-known hash function to one or more portions of the message 405,the listening UE 115-d-2 is enabled to understand the message 420. Inother words, the listening UE 115-d-2 is able to use the hash toidentify the message 420 and thus associate the location informationincluded within message 420 with the announcing UE 115-d-1. If desired,the listening UE 115-d-2 and the announcing UE 115-d-1 may engage inProSe communications 425.

In some embodiments, an announcing UE 115-d-1 may broadcast multipledifferent messages 405, each including different announcements ofavailable services. The different messages may then result in differentcorresponding hashes. Nevertheless, the announced services being madeavailable by the announcing UE 115-d-1 all share the same location—thatof the announcing UE 115-d-1. Therefore, in one embodiment, multipledifferent messages 420 may be transmitted by the announcing UE 115-d-1,each message 420 corresponding to different messages 405. However, inanother embodiment, a single message 420 may be used to convey thelocation information corresponding to multiple messages 405. In thiscase, the single message 420 may include multiple hashes, each havingbeen determined from a different message 405, and a single instance ofthe location information for the announcing UE 115-d-1. In someembodiments, the different hashes included within message 420 may needto be truncated and/or concatenated in order to ensure that more thanone hash can fit within the resources allocated to message 420. Themultiple hashes may be arranged within message 420 as a prefix, whilethe location information may be arranged as a suffix to message 420.Other configurations within message 420 may be used as well.

FIG. 5 is an example of a block diagram 500 of an apparatus 505 for usein wireless communication, in accordance with various aspects of thepresent disclosure. In some examples, the apparatus 505 may be anexample of aspects of one or more of the UEs 115 described withreference to FIGS. 1, 2, 3 and/or 4, and may transmit and receive ProSediscovery messages in the form of public and private expressions, asexplained above. The apparatus 505 may also be a processor. Theapparatus 505 may include a receiver module 510, a ProSe discoverycommunications module 515, and/or a transmitter module 520. Each ofthese components may be in communication with each other.

The components of the apparatus 505 may, individually or collectively,be implemented using one or more application-specific integratedcircuits (ASICs) adapted to perform some or all of the applicablefunctions in hardware. Alternatively, the functions may be performed byone or more other processing units (or cores), on one or more integratedcircuits. In other examples, other types of integrated circuits may beused (e.g., Structured/Platform ASICs, Field Programmable Gate Arrays(FPGAs), and other Semi-Custom ICs), which may be programmed in anymanner known in the art. The functions of each unit may also beimplemented, in whole or in part, with instructions embodied in amemory, formatted to be executed by one or more general orapplication-specific processors.

In some examples, the receiver module 510 may include at least one radiofrequency (RF) receiver, such as at least one RF receiver operable toreceive transmissions over a radio frequency spectrum. In some examples,the radio frequency spectrum may be used for LTE/LTE-A communications,as described, for example, with reference to FIG. 1. The receiver module510 may also be used to receive various types of ProSe discoverycommunications (i.e., transmissions) over one or more communicationlinks of a wireless communication system, such as one or morecommunication links 125 of the wireless communication system 100described with reference to FIG. 1. Examples of the types of ProSediscovery messages received by the receiver module 510 include themessage 315 described with reference to FIG. 3, when the apparatus 505is being used as an announcing UE. Examples of the types of ProSediscovery messages received by the receiver module 510 include themessages 215, 225, 320, 330, 335, 405 and/or 420 of FIGS. 2, 3, and/or4, when the apparatus 505 is being used as a listening UE. ProSemessages may also be received by the receiver module 510, such as ProSecommunication 230, 340 and/or 425 of FIGS. 2, 3 and/or 4.

In some examples, the transmitter module 520 may include at least one RFtransmitter, such as at least one RF transmitter operable to transmitdiscovery messages. The transmitter module 520 may be used to transmitvarious types of ProSe discovery communications (i.e., transmissions)over one or more communication links of a wireless communication system,such as one or more communication links 125 of the wirelesscommunication system 100 described with reference to FIG. 1. Examples ofthe types of ProSe discovery messages transmitted by the transmittermodule 520 include the messages 210, 215, 305, 320, 335, 405 and/or 420of FIGS. 2, 3, and/or 4, when the apparatus 505 is being used as anannouncing UE. These messages may include both public and privateexpressions. Examples of the types of ProSe discovery messagestransmitted by the transmitter module 520 include the messages 220and/or 325 described with reference to FIGS. 2 and/or 3, when theapparatus 505 is being used as a listening UE. ProSe messages may alsobe transmitted by the transmitter module 520, such as ProSecommunication 230, 340 and/or 425 of FIGS. 2, 3 and/or 4.

In some examples, the ProSe discovery communications module 515 may beused to manage the transmission of ProSe discovery communications viathe receiver module 510 and/or the transmitter module 520. Managing thetransmission and receipt of ProSe discovery communications may includebroadcasting ProSe discovery announcements in the form of publicexpressions and also broadcasting location information in the form ofprivate expressions. Managing ProSe discovery communications may alsoinclude receiving ProSe discovery announcements as well as receivinglocation information for an announcing UE. Communications between theapparatus 505 and an expression metadata server may also be coordinatedthrough the ProSe discovery communications module 515.

FIG. 6 shows a block diagram 600 that includes apparatus 505-a, whichmay be an example of one or more aspects of the apparatus 505 (of FIG.5) for use in wireless communication, in accordance with various aspectsof the present disclosure. In some examples, the apparatus 505-a mayinclude a receiver module 510-a and a transmitter module 520-a, whichmay be examples of the receiver module 510 and transmitter module 520 ofFIG. 5. In additional examples, the apparatus 505-a may include a ProSediscovery communications module 515-a, which may be an example of one ormore aspects of the ProSe discovery communications module 515 of FIG. 5.In some examples, the ProSe discovery communications module 515-a mayinclude an expression module 605, an expression ID generation module610, an expression metadata server communications module 615, and/or ahash function module 620. The modules 605, 610, 615 and/or 620 may eachbe used in aspects of ProSe discovery communications, and, inparticular, with the sending of location information for an announcingUE, and the receiving of location information for a listening UE, asdescribed above with respect to FIGS. 2, 3 and/or 4. While FIG. 6illustrates a specific example, the functions performed by each of themodules 605, 610, 615 and/or 620 may be combined or implemented in oneor more other modules.

The expression module 605 may be used within an apparatus 505-a togenerate, transmit and receive expressions related to ProSe discovery.In instances where apparatus 505-a is an announcing UE, the expressionmodule 605 coordinates the generation and transmission of public andprivate expressions, such as messages 215, 320, 335, 405 and/or 420 ofFIGS. 2, 3 and/or 4. In general, the generated and transmittedexpressions include those that carry a ProSe discovery announcement. Forexample, an announcing UE may broadcast an announcement of servicesavailable through the announcing UE. The announcement may be included ina public expression so that any listening UE may receive and understandthe announcement. The announcement may be included within the publicexpression in the form of a ProSe discovery application code thatcorresponds to the services offered by the announcing UE. Additionally,an identification of the announcing UE or of the announcement may beincluded in the public expression with the announcement. The expressionmodule 605 may also generate and transmit expressions that includelocation information for the announcing UE. These expressions may beprivate expressions. The private expressions may include both theannouncing UE's location as well as an identifier that may be used toassociate the private expression with the public expression carrying theannouncement. The identifier may be an expression ID, generated byeither the announcing UE or an expression metadata server, or may be ahash of one or more portions of the public expression that includes theannouncement. In some embodiments, when the announcing UE broadcastsmultiple different public expressions having different announcements,the generated private expression includes multiple corresponding hashesas well as the location information of the announcing UE.

In instances where apparatus 505-a is a listening UE, the expressionmodule 605 coordinates the receipt of public and private expressions,such as messages 215, 320, 335, 405 and/or 420 of FIGS. 2, 3 and/or 4.Receipt may be coordinated through, for example, the receiver module510-a.

The expression ID generation module 610 may be used within an apparatus505-a to generate an expression ID. In instances where apparatus 505-ais an announcing UE, the expression ID generation module 610 determinesand/or generates an expression ID that can be used to uniquely identifya transmitted expression. For example, a private expression that conveyslocation information for an announcing UE may contain an expression ID.The expression ID may be included within the private expression and mayalso be made available to listening UEs so that listening UEs canassociate the private expression with an announcing UE and its availableservices. The expression ID generation module 610 may generate a randomexpression ID or may use predefined algorithms to generate theexpression ID. The expression ID itself need not have any substantiverelation to the public expression or announcing UE with which it isassociated, as long as the expression ID can be associated with thepublic expression. In other words, the expression ID need not be limitedto any specific form or content.

The expression metadata server communications module 615 may be usedwithin an apparatus 505-a to coordinate communications between theapparatus 505-a and an expression metadata server. An expressionmetadata server, such as illustrated and described with relation toFIGS. 2 and/or 3, is a server which stores or otherwise provides accessto metadata relating to the expressions that are broadcast by anannouncing UE during ProSe discovery. Thus, for example, an announcingUE may communicate with an expression metadata server to convey anexpression ID or to receive an expression ID that may be associated witha broadcast public expression. A listening UE may, for example,communicate with an expression metadata server in order to associate areceived public expression or announcement with an expression ID, thusallowing the listening UE to associate the received public expression orannouncement with a private expression that includes the expression ID.

Thus, in instances where apparatus 505-a is an announcing UE, theexpression metadata server communications module 615 coordinates thetransmission or receipt of messages 210, 305 and/or 315 of FIGS. 2and/or 3. The messages transmitted through the coordination of theexpression metadata server communications module 615 generally includethe announcement of services by the announcing UE or other data thatallows for the identification of the announcement or of the announcingUE. The transmitted messages may also include the announcing UE'slocation, in the case of message 210, or an expression ID as generatedby the expression ID generation module 610, as in the case of message305. Alternatively, as in the situation where the expression metadataserver generates an expression ID, the expression metadata servercommunications module 615 may coordinate the reception of message 315that includes the generated expression ID.

In instances where apparatus 505-a is a listening UE, the expressionmetadata server communications module 615 coordinates the transmissionor receipt of messages 220, 225, 325 and/or 330 of FIGS. 2 and/or 3. Themessages transmitted through the coordination of the expression metadataserver communications module 615 generally include at least a requestfor information from an expression metadata server. The request, as inthe case of messages 220 and/or 325, may include an announcementreceived from the announcing UE or other data that allows foridentification of the announcement or of the announcing UE. Upon receiptof the announcement or other data, the expression metadata server canidentify information associated with the announcement and return theassociated information to the listening UE. In the case of message 225,the returned information may include a location of the announcing UE. Inthe case of message 330, the returned information may include anexpression ID.

In each situation, the expression metadata server communications module615 coordinates the transmission and receipt of the communications withthe expression metadata server using, for example, the receiver module510-a and/or the transmitter module 520-a.

The hash function module 620 may be used within an apparatus 505-a togenerate hashes based on transmitted or received public expressions. Forexample, an announcing UE may transmit a message 405 of FIG. 4. Alistening UE may receive the transmitted message 405. Message 405 may bea public expression that includes an announcement of services availablethrough the announcing UE. The apparatus 505-a may, through the hashfunction module 620, generate a hash from one or more portions of themessage 405. The hash function module 620 may use well-known hashfunctions and apply these to the content of the message 405 to generatea hash that can be associated with the public expression of message 405.The use of a well-known/configured hash functions allows different UEsto generate the same hash from the message 405. In combination with theexpression module 605, the hash function module 620 may incorporate itsgenerated hash into a private expression such as message 420 (of FIG.4), if the apparatus 505-a is an announcing UE, or may use the hash toassociate a private expression such as message 420 with an announcingUE, if the apparatus 505-a is a listening UE. In the event that message420 includes multiple hashes, the hash function module 620 may also beconfigured to truncate or concatenate generated hashes so that severalof them can be included or identified within the message 420.

FIG. 7 shows a block diagram 700 of a UE 115-e for use in wirelesscommunication, in accordance with various aspects of the presentdisclosure. The UE 115-e may have various configurations and may beincluded or be part of a personal computer (e.g., a laptop computer,netbook computer, tablet computer, etc.), a cellular telephone, a PDA, adigital video recorder (DVR), an internet appliance, a gaming console,an e-reader, etc. The UE 115-e may, in some examples, have an internalpower supply (not shown), such as a small battery, to facilitate mobileoperation. In some examples, the UE 115-e may be an example of one ormore aspects of one of the UEs 115 or apparatus 505 described withreference to FIGS. 1, 2, 3, 4, 5 and/or 6. The UE 115-e may beconfigured to implement at least some of the features and functionsdescribed with reference to FIGS. 1, 2, 3, 4, 5 and/or 6.

The UE 115-e may include a processor module 705, a memory module 710, atleast one transceiver module 730, at least one antenna (represented byUE antennas 735), or a ProSe discovery communications module 515-c. Eachof these components may be in communication with each other, directly orindirectly, over one or more buses 725. The UE 115-e may also includebase station communications module 725 which may perform operationsrelated to communications with one or more base stations.

The memory module 710 may include random access memory (RAM) orread-only memory (ROM). The memory module 710 may storecomputer-readable, computer-executable software (SW) code 720 containinginstructions that are configured to, when executed, cause the processormodule 705 to perform various functions described herein forcommunicating, for example, discovery-related messages. Alternatively,the software code 720 may not be directly executable by the processormodule 705 but be configured to cause the UE 115-e (e.g., when compiledand executed) to perform various of the functions described herein.

The processor module 705 may include an intelligent hardware device,e.g., a CPU, a microcontroller, an ASIC, etc. The processor module 705may process information received through the transceiver module 730 orinformation to be sent to the transceiver module 730 for transmissionthrough the antenna 735. The processor module 705 may handle, alone orin connection with the ProSe discovery communications module 515-c,various aspects of transmitting, receiving and managing ProSe discoverycommunications.

The transceiver module 730 may include a modem configured to modulatepackets and provide the modulated packets to the antennas 735 fortransmission, and to demodulate packets received from the antennas 735.The transceiver module 730 may, in some examples, be implemented as oneor more transmitter modules and one or more separate receiver modules.The transceiver module 730 may support discovery-related communications.The transceiver module 730 may be configured to communicatebi-directionally, via the antennas 735 and communication link 125, with,for example, base station 105-b which may be one or more of the basestations 105 described with reference to FIG. 1. The transceiver module730 may also be configured to communicate bi-directionally, via theantennas 735 and communication link 125, with, for example, UE 115-fwhich may be one or more of the UEs 115 described with reference toFIGS. 1, 2, 3 and/or 4 or apparatus 505 described with reference toFIGS. 5 and/or 6. While the UE 115-e may include a single antenna, theremay be examples in which the UE 115-e may include multiple UE antennas735.

The ProSe discovery communications module 515-c may be configured toperform or control some or all of the features or functions describedwith reference to FIGS. 1, 2, 3, 4, 5 and/or 6 related to ProSediscovery. For example, the ProSe discovery communications module 515-cmay be configured to support transmission and receipt of ProSe discoverymessages as well as management of the ProSe discovery enabled by theProSe discovery messages. In some examples, and by way of example, theProSe discovery communications module 515-c may be an example of one ormore aspects of the ProSe discovery communications module 515 describedwith reference to FIGS. 5 and/or 6. The ProSe discovery communicationsmodule 515-c may include an expression module 605-a (which may be anexample of the expression module 605 of FIG. 6), an expression IDgeneration module 610-a (which may be an example of the expression IDgeneration module 610 of FIG. 6), an expression metadata servercommunications module 615-a (which may be an example of an expression IDgeneration module 615 of FIG. 6), and a hash function module 620-a(which may be an example of the hash function module 620 of FIG. 6). TheProSe discovery communications module 515-c, or portions of it, mayinclude a processor, or some or all of the functions of the ProSediscovery communications module 515-c may be performed by the processormodule 705 or in connection with the processor module 705. Additionally,the ProSe discovery communications module 515-c, or portions of it, mayinclude a memory, or some or all of the functions of the ProSe discoverycommunications module 515-c may use the memory module 710 or be used inconnection with the memory module 710.

FIG. 8 is a flow chart illustrating an example of a method 800 forwireless communication, in accordance with various aspects of thepresent disclosure. For clarity, the method 800 is described below withreference to aspects of one or more of the announcing UEs 115 describedwith reference to FIGS. 1, 3, 4 and/or 7, respectively, or aspects ofone or more of the apparatus 505 described with reference to FIGS. 5and/or 6. In some examples, an announcing UE such as one of the UEs 115or an apparatus such as one of the apparatuses 505 may execute one ormore sets of codes to control the functional elements of the announcingUE or apparatus to perform the functions described below.

At block 805, the method 800 may include broadcasting, from a userdevice, a first expression using ProSe discovery communications, thefirst expression including a first announcement of services. The firstexpression could be broadcast in the form of a message 320 and/or 405,as described above with reference to FIGS. 3 and/or 4, respectively. Thefirst expression may be a public expression.

At block 810, the method 800 may include broadcasting, from the userdevice, a second expression using ProSe discovery communications, thesecond expression including location information relating to the userdevice and being identifiable through use of the first expression. Forexample, the second expression could be broadcast in the form of amessage 335 and/or 420, as described above with reference to FIGS. 3and/or 4, respectively. The second expression may be a privateexpression.

In some embodiments, the operations at blocks 805 or 810 may beperformed using the ProSe discovery communications module 515 describedwith reference to FIGS. 5, 6 and/or 7. Nevertheless, it should be notedthat the method 800 is just one implementation and that the operationsof the method 800 may be rearranged or otherwise modified such thatother implementations are possible.

FIG. 9 is a flow chart illustrating an example of a method 900 forwireless communication, in accordance with various aspects of thepresent disclosure. For clarity, the method 900 is described below withreference to aspects of one or more of the announcing UEs 115 describedwith reference to FIGS. 1, 3, 4 and/or 7, respectively, or aspects ofone or more of the apparatus 505 described with reference to FIGS. 5and/or 6. In some examples, an announcing UE such as one of the UEs 115or an apparatus such as one of the apparatuses 505 may execute one ormore sets of codes to control the functional elements of the announcingUE or apparatus to perform the functions described below.

The method 900 illustrates two alternative flow paths represented bypaths 910 and 935. At block 905, the method 900 may include initiatingProSe discovery communications. As explained above, an announcing UE mayuse ProSe discovery communications to provide an announcement of offeredservices to other listening UEs. In addition to providing anannouncement of services, the announcing UE may also provide locationinformation for the announcing UE to the listening UEs. This may be doneusing one of flow paths 910, 935.

Following flow path 910, at block 915, the method 900 may comprisecommunicating with an expression metadata server. An announcing UE maycommunicate with an expression metadata server in order to either conveyto the expression metadata server or obtain from the expression metadataserver an expression ID that may be used to identify a subsequentlybroadcast expression, such as a private expression. For example, anannouncing UE may convey a message 305 (as described in connection withFIG. 3) to an expression metadata server, wherein the message 305includes a generated expression ID. The expression metadata server maythen store the received expression ID and associate it with either theannouncing UE and/or an announcement from the announcing UE.Alternatively, an announcing UE may communicate with an expressionmetadata server in order to receive an expression ID generated by theexpression metadata server, such as via message 315, described withreference to FIG. 3. In this case, the expression metadata server stillstores the generated expression ID and associates the expression ID witheither the announcing UE and/or an announcement to be broadcast by theannouncing UE.

At block 920, the method 900 may include transmitting a firstexpression, wherein the first expression includes an announcement fromthe announcing UE. The announcement may be an announcement of servicesoffered by the announcing UE. The first expression may also include anidentification of the announcing UE, for example. The first expressionmay be in a form of a public expression. Examples of the firstexpression include message 320, as described above in relation to FIG.3.

At block 925, the method 900 may include a step of transmitting a secondexpression that includes location information for the announcing UE. Thefirst and the second expressions may be broadcast at approximately thesame time. The second expression may also include the expression IDgenerated in connection with the communications between the announcingUE and the expression metadata server, described with relation to block915. In an embodiment, the expression ID may be included within thesecond expression as a prefix, while the location information may beincluded within the second expression as a suffix. Other configurationsmay also be used. The second expression may be a private expression.Examples of the second expression include message 335, as describedabove in relation to FIG. 3.

After the announcing UE has exchanged its first and second expressionswith one or more listening UEs, the announcing UE may participate inother ProSe communications with the one or more listening UEs (asdepicted at block 930). Examples of ProSe communications between anannouncing UE and one or more listening UEs are illustrated throughcommunications 340 of FIG. 3, as described above.

If an alternative path for transmitting the location of an announcing UEto one or more listening UEs is used, such as path 935, method 900includes a block 940. At block 940, method 900 includes transmitting afirst expression, wherein the first expression includes an announcementof services offered by the announcing UE. The first expression may alsoinclude an identification of the announcing UE, for example. The firstexpression may be in a form of a public expression. Examples of thefirst expression include message 405, as described above in relation toFIG. 4.

At block 945, the announcing UE generates a hash of one or more portionsof the first expression. The hash is generated using a well-known hashfunction. In this way, a listening UE that has received the firstexpression can also generate the same hash by using the same, well-knownhash function. The announcing UE may, if needed, truncate the hash inorder to reduce its size. Examples of an announcing UE using a hashvalue include the function described in relation to box 410 of FIG. 4.

At block 950, the announcing UE transmits a second expression. Thesecond expression may include location information for the announcingUE. The second expression may also include the hash generated by theannouncing UE. In an embodiment, the hash may be included within thesecond expression as a prefix, while the location information may beincluded within the second expression as a suffix. Additionally,multiple hashes associated with the same announcing UE (but withdifferent announcements and/or first expressions) may be included withinthe same prefix. When multiple hashes are included within the secondexpression, the hashes may need to be truncated or concatenated in orderto reduce the total size of the hashes. Other prefix and suffixconfigurations may also be used. The second expression may be a privateexpression. Examples of the second expression include message 420, asdescribed above in relation to FIG. 4.

After the listening UE has received first and second expressions from anannouncing UE, the listening UE may participate in other ProSecommunications with the announcing UE (as depicted at block 930).Examples of ProSe communications between an announcing UE and one ormore listening UEs are illustrated through communications 425 of FIG. 4,as described above.

It should be noted that the method 900 is just one implementation andthat the operations of the method 900 may be rearranged or otherwisemodified such that other implementations are possible. As a specificexample, not every operation illustrated in m the method 900 need beperformed, and many operations may be performed in different orders thanthose illustrated in FIG. 9.

FIG. 10 is a flow chart illustrating an example of a method 1000 forwireless communication, in accordance with various aspects of thepresent disclosure. For clarity, the method 1000 is described below withreference to aspects of one or more of the listening UEs 115 describedwith reference to FIGS. 1, 3, 4 and/or 7, respectively, or aspects ofone or more of the apparatus 505 described with reference to FIGS. 5and/or 6. In some examples, a listening UE such as one of the UEs 115 oran apparatus such as one of the apparatuses 505 may execute one or moresets of codes to control the functional elements of the listening UE orapparatus to perform the functions described below.

At block 1005, the method 1000 may include receiving, from a userdevice, a first expression using ProSe discovery communications, thefirst expression including a first announcement of services. The firstexpression could be received in the form of a message 320 and/or 405, asdescribed above with reference to FIGS. 3 and/or 4, respectively. Thefirst expression may be a public expression.

At block 1010, the method 1000 may include receiving, from the userdevice, a second expression using ProSe discovery communications, thesecond expression being identifiable through use of the firstexpression. For example, the second expression could be received in theform of a message 335 and/or 420, as described above with reference toFIGS. 3 and/or 4, respectively. The second expression may be a privateexpression. The first and the second expression may be received in anyorder.

At block 1015, the method 1000 may include determining a location of theuser device from the second expression. The second expression mayinclude the location information of the user device.

In some embodiments, the operations at blocks 1005, 1010 or 1015 may beperformed using the ProSe discovery communications module 515 describedwith reference to FIGS. 5, 6 and/or 7. Nevertheless, it should be notedthat the method 1000 is just one implementation and that the operationsof the method 1000 may be rearranged or otherwise modified such thatother implementations are possible.

FIG. 11 is a flow chart illustrating an example of a method 1100 forwireless communication, in accordance with various aspects of thepresent disclosure. For clarity, the method 1100 is described below withreference to aspects of one or more of the listening UEs 115 describedwith reference to FIGS. 1, 3, 4 and/or 7, respectively, or aspects ofone or more of the apparatus 505 described with reference to FIGS. 5and/or 6. In some examples, a listening UE such as one of the UEs 115 oran apparatus such as one of the apparatuses 505 may execute one or moresets of codes to control the functional elements of the listening UE orapparatus to perform the functions described below.

The method 1100 illustrates two alternative flow paths represented bypaths 1110 and 1130. At block 1105, the method 1100 may includereceiving a first expression. The first expression may be received as amessage broadcast by an announcing UE engaging in ProSe discoverycommunications. Thus, the first expression may include an announcementof services available through the announcing UE. The first expressionmay also include an identification of the announcing UE, for example.The first expression may be in a form of a public expression. Examplesof the first expression include message 320, as described above inrelation to FIG. 3.

In receiving the announcement of services via the first expression, thelistening UE may additionally benefit from receiving locationinformation for the announcing UE to the listening UEs. This may be doneusing one of flow paths 1110, 1130.

Following flow path 1110, at block 1115, the method 1100 may comprisecommunicating with an expression metadata server. A listening UE maycommunicate with an expression metadata server in order to obtain anexpression ID that can allow the listening UE to identify a secondexpression broadcast by the announcing UE. For example, the listening UEmay transmit a request message 325 (as described in connection with FIG.3) to an expression metadata server. The request message 325 may includethe announcement or other data that allows for identification of, forexample, the announcing UE or the announcement received via the firstexpression. The expression metadata server thus receives theidentification, which it has already associated with a previouslygenerated expression ID. Thus, the expression metadata server is able torespond to the listening UE's request message 325 by returning theexpression ID to the listening UE via message 330.

At block 1120, the method 1100 may include a step of receiving a secondexpression that includes location information for the announcing UE. Thesecond expression may also include the expression ID received from theexpression metadata server. In an embodiment, the expression ID may beincluded within the second expression as a prefix, while the locationinformation may be included within the second expression as a suffix.Other configurations may also be used. The second expression may be aprivate expression. Examples of the second expression include message335, as described above in relation to FIG. 3. The first and secondexpressions may be received in any order.

In this way, the listening UE is able to obtain the location informationfor the announcing UE. The listening UE and the announcing UE may thenparticipate in other ProSe communications (as depicted at block 1125).Examples of ProSe communications between an announcing UE and alistening UE are illustrated through communications 340 of FIG. 3, asdescribed above.

If an alternative path for receiving the location of an announcing UE isused, such as path 1130, method 1100 includes a block 1135. At block1135, method 1100 includes generating a hash of one or more portions ofthe first expression received by the listening UE. The hash is generatedusing a well-known hash function that may have also been used by theannouncing UE to generate the same hash. The listening UE may also, ifneeded, truncate the hash. The purpose of generating a hash andtruncating the same is to derive an identifier that may be used toidentify a second expression as having been sent by the same announcingUE. Examples of a listening UE generating a hash function include thefunction described in relation to box 415 of FIG. 4.

At block 1140, the listening UE receives a second expression. The secondexpression may include location information for the announcing UE. Thesecond expression may also include the hash generated by the listeningUE. In an embodiment, the hash may be included within the secondexpression as a prefix, while the location information may be includedwithin the second expression as a suffix. Additionally, multiple hashesassociated with the same announcing UE (but with different announcementsand/or first expressions) may be included within the same prefix. Whenmultiple hashes are included within the second expression, the hashesmay need to be truncated in order to reduce the size of the hashes.Thus, the listening UE may use either the hash it previously generatedor a truncated version of the hash in order to identify the secondexpression. Other prefix and suffix configurations may also be used. Thesecond expression may be a private expression. Examples of the secondexpression include message 420, as described above in relation to FIG.4. The first and second expressions may be received in any order.

After the listening UE has received both first and second expressionsfrom an announcing UE, the listening UE may participate in other ProSecommunications with the announcing UE (as depicted at block 1125).Examples of ProSe communications between a listening UE and anannouncing UE are illustrated through communications 425 of FIG. 4, asdescribed above.

It should be noted that the method 1100 is just one implementation andthat the operations of the method 1100 may be rearranged or otherwisemodified such that other implementations are possible. As a specificexample, not every operation illustrated in m the method 1100 need beperformed, and many operations may be performed in different orders thanthose illustrated in FIG. 11.

The detailed description set forth above in connection with the appendeddrawings describes exemplary embodiments and does not represent the onlyembodiments that may be implemented or that are within the scope of theclaims. The term “exemplary” used throughout this description means“serving as an example, instance, or illustration,” and not “preferred”or “advantageous over other embodiments.” The detailed descriptionincludes specific details for the purpose of providing an understandingof the described techniques. These techniques, however, may be practicedwithout these specific details. In some instances, well-known structuresand devices are shown in block diagram form in order to avoid obscuringthe concepts of the described embodiments.

Techniques described herein may be used for various wirelesscommunications systems such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, andother systems. The terms “system” and “network” are often usedinterchangeably. A CDMA system may implement a radio technology such asCDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases 0 and Aare commonly referred to as CDMA2000 1X, 1X, etc. IS-856 (TIA-856) iscommonly referred to as CDMA2000 1xEV-DO, High Rate Packet Data (HRPD),etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. ATDMA system may implement a radio technology such as Global System forMobile Communications (GSM). An OFDMA system may implement a radiotechnology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA),IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc.UTRA and E-UTRA are part of Universal Mobile Telecommunication System(UMTS). 3GPP Long Term Evolution (LTE) and LTE-Advanced (LTE-A) are newreleases of UMTS that use E-UTRA. UTRA, E-UTRA, UMTS. LTE, LTE-A, andGSM are described in documents from an organization named “3rdGeneration Partnership Project” (3GPP). CDMA2000 and UMB are describedin documents from an organization named “3rd Generation PartnershipProject 2” (3GPP2). The techniques described herein may be used for thesystems and radio technologies mentioned above as well as other systemsand radio technologies. The description above, however, describes an LTEsystem for purposes of example, and LTE terminology is used in much ofthe description above, although the techniques are applicable beyond LTEapplications.

The communication networks that may accommodate some of the variousdisclosed embodiments may be packet-based networks that operateaccording to a layered protocol stack. For example, communications atthe bearer or Packet Data Convergence Protocol (PDCP) layer may beIP-based. A Radio Link Control (RLC) layer may perform packetsegmentation and reassembly to communicate over logical channels. AMedium Access Control (MAC) layer may perform priority handling andmultiplexing of logical channels into transport channels. The MAC layermay also use Hybrid ARQ (HARQ) to provide retransmission at the MAClayer to improve link efficiency. At the Physical layer, the transportchannels may be mapped to Physical channels.

Information and signals may be represented using any of a variety ofdifferent technologies and techniques. For example, data, instructions,commands, information, signals, bits, symbols, and chips that may bereferenced throughout the above description may be represented byvoltages, currents, electromagnetic waves, magnetic fields or particles,optical fields or particles, or any combination thereof.

The various illustrative blocks and modules described in connection withthe disclosure herein may be implemented or performed with ageneral-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Ageneral-purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, multiple microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration. A processor may in some cases be in electroniccommunication with a memory, where the memory stores instructions thatare executable by the processor.

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope and spirit of the disclosure and appended claims. For example,due to the nature of software, functions described above can beimplemented using software executed by a processor, hardware, firmware,hardwiring, or combinations of any of these. Features implementingfunctions may also be physically located at various positions, includingbeing distributed such that portions of functions are implemented atdifferent physical locations. Also, as used herein, including in theclaims, “or” as used in a list of items indicates a disjunctive listsuch that, for example, a list of “at least one of A, B, or C” means Aor B or C or AB or AC or BC or ABC (i.e., A and B and C).

A computer program product or computer-readable medium both include acomputer-readable storage medium and communication medium, including anymediums that facilitates transfer of a computer program from one placeto another. A storage medium may be any medium that can be accessed by ageneral purpose or special purpose computer. By way of example, and notlimitation, computer-readable medium can comprise RAM, ROM, EEPROM,CD-ROM or other optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to carryor store desired computer-readable program code in the form ofinstructions or data structures and that can be accessed by ageneral-purpose or special-purpose computer, or a general-purpose orspecial-purpose processor. Also, any connection is properly termed acomputer-readable medium. For example, if the software is transmittedfrom a website, server, or other remote light source using a coaxialcable, fiber optic cable, twisted pair, digital subscriber line (DSL),or wireless technologies such as infrared, radio, and microwave, thenthe coaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. Disk and disc, as used herein, include compactdisc (CD), laser disc, optical disc, digital versatile disc (DVD),floppy disk and blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofcomputer-readable media.

The previous description of the disclosure is provided to enable aperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other variations without departing from the spirit or scopeof the disclosure. Throughout this disclosure the term “example” or“exemplary” indicates an example or instance and does not imply orrequire any preference for the noted example. Thus, the disclosure isnot to be limited to the examples and designs described herein but is tobe accorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method of wireless communication, comprising:broadcasting, from a user device, a first expression using proximityservices (ProSe) discovery communications, the first expressionincluding a first announcement of services, and broadcasting, from theuser device, a second expression using ProSe discovery communications,the second expression including location information relating to theuser device and being identifiable through use of the first expression.2. The method of claim 1, wherein the first expression is a publicexpression and the second expression is a private expression.
 3. Themethod of claim 1, wherein the second expression is selectivelybroadcast based at least in part on an amount of movement of the userdevice.
 4. The method of claim 3, further comprising: transmitting thelocation information to an expression metadata server for associationwith the first announcement if the amount of movement of the user deviceis below a predetermined threshold.
 5. The method of claim 1, furthercomprising: including an identifier in the second expression, theidentifier relating to the first announcement.
 6. The method of claim 5,further comprising: generating the identifier; and transmitting theidentifier to an expression metadata server for association with thefirst announcement.
 7. The method of claim 5, further comprising:transmitting a request to an expression metadata server to generate theidentifier and to associate the identifier with the first announcement.8. The method of claim 5, wherein the identifier is included in a firstportion of the second expression and the location information isincluded in a second portion of the second expression.
 9. The method ofclaim 1, further comprising: generating a first hash of one or moreportions of the first expression; and including the first hash in thesecond expression.
 10. The method of claim 9, wherein the first hash isincluded in a first portion of the second expression, and the locationinformation is included in a second portion of the second expression.11. The method of claim 9, further comprising: broadcasting, from theuser device, a third expression using ProSe discovery communications,the third expression including a second announcement of services;generating a second hash of one or more portions of the thirdexpression; and including the second hash in the second expression. 12.The method of claim 11, wherein the first and the second hash areincluded in a first portion of the second expression, and the locationinformation is included in a second portion of the second expression.13. The method of claim 11, further comprising: truncating at least oneof the first and second hashes.
 14. An apparatus for wirelesscommunication, comprising: means for broadcasting, from a user device, afirst expression using proximity services (ProSe) discoverycommunications, the first expression including a first announcement ofservices, and means for broadcasting, from the user device, a secondexpression using ProSe discovery communications, the second expressionincluding location information relating to the user device and beingidentifiable through use of the first expression.
 15. The apparatus ofclaim 14, wherein the first expression is a public expression and thesecond expression is a private expression.
 16. The apparatus of claim14, further comprising: means for including an identifier in the secondexpression, the identifier relating to the first announcement.
 17. Theapparatus of claim 16, further comprising: means for generating theidentifier; and means for transmitting the identifier to an expressionmetadata server for association with the first announcement.
 18. Theapparatus of claim 16, further comprising: means for transmitting arequest to an expression metadata server to generate the identifier andto associate the identifier with the first announcement.
 19. Theapparatus of claim 16, wherein the identifier is included as a prefix inthe second expression and the location information is included as asuffix in the second expression.
 20. The apparatus of claim 14, furthercomprising: means for generating a first hash of one or more portions ofthe first expression; and means for including the first hash in thesecond expression.
 21. The apparatus of claim 20, wherein the first hashis included in a first portion of the second expression, and thelocation information is included in a second portion of the secondexpression.
 22. The apparatus of claim 20, further comprising: means forbroadcasting, from the user device, a third expression using ProSediscovery communications, the third expression including a secondannouncement of services; means for generating a second hash of one ormore portions of the third expression; and means for including thesecond hash in the second expression.
 23. The apparatus of claim 22,wherein the first and the second hash are included in a first portion ofthe second expression, and the location information is included in asecond portion of the second expression.
 24. An apparatus configured forwireless communication, comprising: at least one processor; and a memorycoupled to the at least one processor, wherein the at least oneprocessor is configured: to broadcast, from a user device, a firstexpression using proximity services (ProSe) discovery communications,the first expression including a first announcement of services, and tobroadcast, from the user device, a second expression using ProSediscovery communications, the second expression including locationinformation relating to the user device and being identifiable throughuse of the first expression.
 25. A method of wireless communication,comprising: receiving, from a user device, a first expression usingproximity services (ProSe) discovery communications, the firstexpression including an announcement of services; receiving, from theuser device, a second expression using ProSe discovery communications,the second expression being identifiable through use of the firstexpression; and determining a location of the user device from thesecond expression.
 26. The method of claim 25, further comprising:communicating with an expression metadata server to receive anidentifier associated with the announcement; and associating the secondexpression with the first expression by identifying the identifier as aportion of the second expression.
 27. The method of claim 26, whereinthe identifier is included in a first portion of the second expressionand the location of the user device is included in a second portion ofthe second expression.
 28. The method of claim 25, further comprising:generating a hash of one or more portions of the first expression; andassociating the second expression with the first expression byidentifying the hash as a portion of the second expression.
 29. Themethod of claim 28, wherein the hash is included in a first portion ofthe second expression, and the location of the user device is includedin a second portion of the second expression.
 30. The method of claim28, further comprising: truncating the hash, wherein the secondexpression is associated with the first expression by identifying thetruncated hash as a portion of the second expression.